﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace SGT.Model
{
    public class ASector : INotifyPropertyChanged
    {
        private int _SectorID;
        private double _Capacidad;
        private string _Nombre;
        private double _UsoActual;
        private string _tipo;
        private string _imagen;
        private bool _mostrar=false;

        private List<ASector> _hijos = new List<ASector>();
        public List<ASector> Hijos
        {
            get { return _hijos; }
            set
            {
                _hijos = value;
                RaisePropertyChanged("Hijos");
            }
           
        }


        public ASector()
        {
            
        }

        public int SectorID
        {
            get { return _SectorID; }
            set
            {
                _SectorID = value;
                RaisePropertyChanged("SectorID");
            }
        }

        public double Capacidad
        {
            get { return _Capacidad; }
            set
            {
                _Capacidad = value;
                RaisePropertyChanged("Capacidad");
            }
        }


        public double MaxRango
        {
            get { return _Capacidad + (_Capacidad/100); }
            
        }

        public double UsoActual
        {
            get { return _UsoActual; }
            set
            {
                _UsoActual = value;
                RaisePropertyChanged("UsoActual");
            }
        }
     
        public string Nombre
        {
            get { return _Nombre; }
            set
            {
                _Nombre = value;
                RaisePropertyChanged("Nombre");
            }
        }
        public string Tipo
        {
            get { return _tipo; }
            set
            {
                _tipo = value;
                RaisePropertyChanged("Tipo");
            }
        }
        public string Imagen
        {
            get { return _imagen; }
            set
            {
                _imagen = value;
                RaisePropertyChanged("Imagen");
            }
        }

        public bool Mostrar
        {
            get { return _mostrar; }
            set
            {
                _mostrar = value;
                RaisePropertyChanged("Mostrar");
            }
        }
  




        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;

        private void RaisePropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(
                    this,
                    new PropertyChangedEventArgs(propertyName)
                    );
            }
        }

        #endregion
    }
}
